package com.tanglongan.designPattern.dp08_composite.demo01;

/**
 * 抽象组件：课程的共性操作
 * tips：这里不使用抽象方法，是因为如果使用抽象方法的话，子类就必须实现，如下方法的方式，子类可以按需实现需要的方法。
 */
public abstract class CourseCompoent {

    public void addChild(CourseCompoent compoent) {
        throw new UnsupportedOperationException("不支持添加操作");
    }

    public void removeChild(CourseCompoent compoent) {
        throw new UnsupportedOperationException("不支持删除操作");
    }

    public String getName(CourseCompoent compoent) {
        throw new UnsupportedOperationException("不支持获取名称操作");
    }

    public Double getPrice(CourseCompoent compoent) {
        throw new UnsupportedOperationException("不支持获取价格操作");
    }

    public void print() {
        throw new UnsupportedOperationException("不支持打印操作");
    }
}
